#ifndef __ReaderWriterMgr_h__
#define __ReaderWriterMgr_h__
#include "Singleton.h"
#include <string>
#include <vector>


namespace Nezha
{
	namespace stream
	{
		class IFileSystem;
		IFileSystem* getGlobalFileSystem();
	}

	class ReaderWriterMgr : public Singleton<ReaderWriterMgr>
	{
		friend class Singleton<ReaderWriterMgr>;
	public:
		bool getCaseSentive() { return mCaseSentive; }
		void regeditExt(const std::string& ext);
		bool supportExt(const std::string& ext) const;
		bool supportFile(const std::string& fileName) const;

	private:
		ReaderWriterMgr():mSupportExt(), mCaseSentive(true){}
		~ReaderWriterMgr(){}
		ReaderWriterMgr(const ReaderWriterMgr&);
		ReaderWriterMgr& operator = (const ReaderWriterMgr&);
	
	private:
		std::vector<std::string> mSupportExt;
		bool mCaseSentive;
	};
}
#endif // __ReaderWriterMgr_h__
